package com.ruoyi.web.mapper;

import java.math.BigDecimal;
import java.util.List;
import com.ruoyi.web.domain.MesUseInfo;
import com.ruoyi.web.domain.MesUseDetail;
import com.ruoyi.web.domain.vo.MesUseDetailVo;

/**
 * 纸张领用单Mapper接口
 * 
 * @author wxt
 * @date 2024-01-17
 */
public interface MesUseInfoMapper 
{
    /**
     * 查询纸张领用单
     * 
     * @param id 纸张领用单主键
     * @return 纸张领用单
     */
    public MesUseInfo selectMesUseInfoById(Long id);

    /**
     * 查询纸张领用单列表
     * 
     * @param mesUseInfo 纸张领用单
     * @return 纸张领用单集合
     */
    public List<MesUseInfo> selectMesUseInfoList(MesUseInfo mesUseInfo);
    //明细查询
    public List<MesUseDetailVo> selectMesDetaillist(MesUseInfo mesUseInfo);
   //机台库存查询页面 累计领用数量穿透
    public List<MesUseDetailVo> selectUseDetail(MesUseDetailVo userDetail);
    BigDecimal selectMesDetaillistaSumUseNumber(MesUseInfo mesUseInfo);

    /**
     * 新增纸张领用单
     * 
     * @param mesUseInfo 纸张领用单
     * @return 结果
     */
    public int insertMesUseInfo(MesUseInfo mesUseInfo);

    /**
     * 修改纸张领用单
     * 
     * @param mesUseInfo 纸张领用单
     * @return 结果
     */
    public int updateMesUseInfo(MesUseInfo mesUseInfo);

    /**
     * 删除纸张领用单
     * 
     * @param id 纸张领用单主键
     * @return 结果
     */
    public int deleteMesUseInfoById(Long id);

    /**
     * 批量删除纸张领用单
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMesUseInfoByIds(Long[] ids);

    /**
     * 批量删除纸张领用明细
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMesUseDetailByUseinfoids(Long[] ids);
    
    /**
     * 批量新增纸张领用明细
     * 
     * @param mesUseDetailList 纸张领用明细列表
     * @return 结果
     */
    public int batchMesUseDetail(List<MesUseDetail> mesUseDetailList);
    

    /**
     * 通过纸张领用单主键删除纸张领用明细信息
     * 
     * @param id 纸张领用单ID
     * @return 结果
     */
    public int deleteMesUseDetailByUseinfoid(Long id);

    public int getmes_use_infoMaxId();

}
